//-------------------------------------------------------------------
//	Copyright (c) 2013-2014  Zhirnov Andrey
//	This file is part of the "UX OpwnGL Framework" project.
//	See copyright notice in "UX_GL_Framework.h".
//-------------------------------------------------------------------

#include "Sample.h"


/*
=================================================
	constructor
=================================================
*/
	CSampleApplication::CSampleApplication ()
	{
	}
	
/*
=================================================
	destructor
=================================================
*/
	CSampleApplication::~CSampleApplication ()
	{
	}
	
/*
=================================================
	OnInit
=================================================
*/
	void CSampleApplication::OnInit ()
	{
	}
	
/*
=================================================
	OnFree
=================================================
*/
	void CSampleApplication::OnFree ()
	{
	}
	
/*
=================================================
	Draw
=================================================
*/
	void CSampleApplication::Draw ()
	{
		GLDefaultFrameBuffer::ClearColor( vec4(0.3f, 0.8f, 1.0f, 1.0f) );
		GLDefaultFrameBuffer::ClearDepth( 1.0f );

	}
	
/*
=================================================
	Update
=================================================
*/
	void CSampleApplication::Update ()
	{
		const float mouseSens = 0.1f;
		const float moveScale = 0.1f;

		if ( Input()->IsKeyClick( e_key::ESCAPE ) )
		{
			Window()->Quit();
			return;
		}
	}
	
/*
=================================================
	OnResize
=================================================
*/
	void CSampleApplication::OnResize ()
	{
		SMAN()->Viewport( Window()->Descriptor().vSize.To<ivec2>() );
	}
	
/*
=================================================
	Run
=================================================
*/
	bool CSampleApplication::Run ()
	{
		CSampleApplication	app;

		return
			app._Run( "Template/data",
					  CWindow::TDescriptor( uvec2(640,480), ivec2(), e_wnd_style::DEF_WINDOWED, 0, false ),
					  GLWindow::TGLDescriptor( e_glinit_flags::DEFAULT_CORE, 32, 24, 0, 8, 4, true, null ) );
	}
